#pragma once

#include "Property/EditorPropertyViewModel.h"
#include "EditorNodePositionPropertyModel.h"
#include "EditorNodePositionPropertyViewModel.m.h"

RCLASS()
class REditorNodePositionPropertyViewModel : public REditorPropertyViewModel
{
    ROBJECT

public:
    virtual void BindModel(TSharedObjectPtr<REditorPropertyModel> InModel
        ,TSharedObjectPtr<REditorObjectPropertyAbilityViewModel> InAbilityViewModel) override;

    float GetX() const;
    void SetX(float InX);

    float GetY() const;
    void SetY(float InY);

    float GetZ() const;
    void SetZ(float InZ);

    const float LabelWidth = 15.0f;
    const float ValueWidth = 120.0f;

    bool bThreeLine = false;
protected:
    TWeakObjectPtr<REditorNodePositionPropertyModel> NodePositionModel;

};